The present invention pertains generally to the field of image processing, and more precisely to the coding and to the decoding by competition of digital images and of sequences of digital images.
Several coding and decoding methods exist for the transmission of images. Mention may be made in particular of major types of coding such as so-called “intra” coding where an image is coded in an autonomous manner, that is to say without reference to other images, or else so-called “inter” coding which consists in coding a current image with respect to past images so as to express and transmit only the difference between these images.
The coding methods of the aforementioned type generally comprise a predictive coding step according to which image portions, called blocks or macroblocks, of a current image are predicted with respect to other reference blocks or macroblocks, that is to say previously coded and then decoded.
In the case for example of the H264/MPEG-4 AVC standard (AVC standing for “Advanced Video Coding”), the predictive coding of a macroblock consists in chopping the macroblocks according to a plurality of partitions generally having the form of blocks of smaller size.
More precisely, during the predictive coding of a macroblock in accordance with the aforementioned standard, with the exception of a macroblock of 16×16 type, the macroblock is generally chopped according to a plurality of partitions generally having the form of blocks of smaller size. The spatial prediction of such a macroblock in an image consists in predicting each block of smaller size forming this macroblock with respect to one or more blocks of another macroblock of this same image having already been coded and then decoded, such a macroblock being called a reference macroblock. This prediction is possible only if the reference macroblock neighbors the macroblock to be predicted and is situated in certain predetermined directions with respect to it, that is to say generally above and to the left, in a so-called “causal” neighborhood.
The drawback of such a type of prediction resides in the fact that for a given transmission rate from the coder to the decoder, it achieves worse video quality than inter coding since it does not exploit the temporal correlations between the images of the sequence.
In the case of inter coding, the current macroblock to be coded may be partitioned according to the 16×16, 8×16, 16×8 and 8×8 modes. If the 8×8 mode is selected, each 8×8 block is again partitioned according to the 8×8, 4×8, 8×4 and 4×4 modes. Each current block is compared with one or more blocks of a reference causal zone, of spatial or temporal type, which comprises macroblocks already decoded at the level of the coder during the coding by the latter of a current macroblock. A temporal predictor is then defined by a vector which describes the motion between the current block and the reference block.
FIG. 1A represents the case of a spatial prediction of a vector MVc of a current block to be inter coded, denoted BCa, which utilizes the spatial correlations between the various macroblocks of one and the same image Ia. Such a block is chopped according to for example 16 smaller partitions P1 . . . P16, each of size 4×4. For the sake of clarity in the figure, only the partition P1 is represented. In accordance with the H264/AVC standard, the partition P1 is predicted with reference to a reference causal zone Cs, which comprises four blocks each of size 16×16, denoted BR1, BR2, BR3 and BR4 in FIG. 1A, these being neighbors of said partition P1. More precisely, the calculation of the motion vector MVc of the partition P1 is undertaken. A prediction procedure consists in calculating for example the motion vectors MV1, MV2 and MV3 corresponding respectively to the reference macroblocks BR1, BR2 and BR3, and then in calculating the median of the vectors MV1, MV2 and MV3 so as to deduce therefrom the motion vector which serves to predict the vector MVc of the partition P1 to be coded.
A drawback of the prediction represented in FIG. 1A resides in the fact that:                the mean spatial distance between the pixels of the current partition P1 to be coded and the pixels of the macroblocks BR1, BR2 and BR3 is relatively high,        and that the vectors MV1, MV2 and MV3 have been calculated in relation to macroblocks of very different size from that of the current partition P1 to be coded.        
It follows from this that such a prediction lacks precision.
FIG. 1B now represents the case of a temporal prediction of a current macroblock to be inter coded, denoted MBCN, which belongs to an image N to be coded. Such a prediction utilizes the temporal correlations between, the macroblock MBCN and the macroblock or macroblocks of a plurality of already coded and then decoded reference images, which constitute a temporal reference causal zone. In the example represented, the temporal reference causal zone, denoted Ct, comprises just the previous image N-1. In other examples, the reference causal zone could comprise, not only the image N-1, but also the images N-2, N-3, etc. Such a macroblock MBCN is chopped according to for example three smaller partitions P′1, P′2, P′3, which are, in the example represented, of arbitrary geometric shape. The procedure for utilizing the temporal correlations consists in calculating the three current motion vectors MV′1, MV′2 and MV′3 respectively associated with the three partitions P′1, P′2 and P′3 as a function of the motion vector, denoted MVcol, which belongs to the macroblock, denoted MBCN-1, having the same position as the current macroblock MBCN in the previous image N-1.
A drawback of the prediction represented in FIG. 1B resides in the fact that the partitioning of the current macroblock MBCN is different from that of the macroblock MBCN-1, this considerably hampering the precision of the prediction of the three current motion vectors MV′1, MV′2 and MV′3. Thus, in the case of FIG. 1B, it is clear that by comparing the direction of the vector MVcol with respect to the direction of the vectors MV′1, MV′2 and MV′3, the prediction of the current motion vector MV′3 will be worse than that of the current motion vectors MV′1 and MV′2.